home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / ARCHIVE / ICE_ARC.ZIP;1 / ICE.MAN < prev   
Encoding:
Text File  |  1989-07-19  |  40.5 KB  |  1,206 lines

  1.         This NEW version of LHARC , now called ICE, you can use to unarchive
  2. an .LZH file. You can also rename all of your .LZH files to .ICE, for easier
  3. unarchiving. This new version is the same as LH113 except it uses the .ICE
  4. extension and graphics are now outputted instead of "o"'s & "."'s when 
  5. Packing & unPacking.
  6.         To UnArchive an LZH file, (if you have not renamed it), use the follow-
  7. ing command: ICE X <name of archive>.LZH
  8.  
  9. *******************************************************************************
  10. ------------------------------------------------------------------------
  11.  
  12.       User's Manual for High-Performance File-Compression Program
  13.  
  14.                            ICE  Version 1.14 
  15.                                 07/15/89
  16.  
  17.            Copyright (c) Haruyasu Yoshizaki (Yoshi), 1988-89
  18.  
  19.                                                     Nifty Serve PFF00253
  20.                                                     ASCII PCS   pcs02846
  21.  
  22. ------------------------------------------------------------------------
  23.  
  24. 0. It Came to Pass One Day...
  25.  
  26.    After reading "A Hard Disk Cookbook" from Shouei Press, I had a
  27.    strong desire to write my own archiving utility.  On the Nifty Serve
  28.    network, I was first exposed to Mr. Miki's Larc, which surpasses the
  29.    well-known PKware in compression ratios, as reported in the Forum
  30.    Software Debut and Review.  The next shock came when I saw Mr.
  31.    Okumura's LZari, which has even better compression-ratio performance.
  32.    I started to rewrite LZari in assembly language, trying to make it
  33.    run faster, but I could find hardly no good way to speed up the
  34.    process of un-archiving.
  35.  
  36.    So, as an alternative, I used adaptive Huffman coding with an LZSS
  37.    encoder in order to achieve similar compression ratios with shorter
  38.    decompression times.  This is the idea used in  ICE .
  39.  
  40.    No one can be sure of eradicating all possible bugs, yet if SPACE is
  41.    more valuable than TIME to you, please give this program a try.  It
  42.    may be slower in execution, but it achieves the tightest compression
  43.    ratios of any general archiver in the present "shareware" environ-
  44.    ment.
  45.  
  46.    (Copyright reserved).
  47.  
  48.  
  49. 1. How to Use It:
  50.  
  51.    Just type "ICE" to see a concise help screen of the program's
  52.    command structure.
  53.  
  54.  
  55.    Command-line synopsis:
  56.    ======================
  57.  
  58.     ICE  [<command>] [{{/|-}{<switch>[-|+|2|<option>]}}...] <archive_name>
  59.          [{<drive_name>:}|{<home_directory_name>\}] [<path_name> ...]
  60.  
  61.    Only a single command can be specified on the command line, but a
  62.    group of switches can be specified together after the '/' or '-'
  63.    delimiter.  You may place switch(es) anywhere following the command.
  64.  
  65.    Hitting 'Ctrl-Break' or 'Ctrl-C' at any time will abort  ICE 's
  66.    current operation and return you to the DOS prompt.
  67.  
  68.  
  69.  
  70.  ICE  User's Manual                                               page 2
  71.  
  72.  
  73.  
  74.    Terminology:
  75.    ============
  76.  
  77.    A path name comprises a directory name and a file name:
  78.  
  79.         a:\tc\include\stdio.ext
  80.         |<---- Path_name ---->|
  81.         |<Directory_>||<File_>|
  82.         |<-- name -->||<name >|
  83.  
  84.    Both the archive name and file name(s) specified in the command line
  85.    can optionally include a path i.e., a drive or directory name.  If
  86.     ICE  becomes excessively confused by your typing, it will just stop
  87.    and wait for keyboard input.  Hit 'CTRL-Break' or 'CTRL-C' to escape
  88.    back to the prompt and then use the DOS function keys to edit and
  89.    reenter your command line.   ICE  will continue to answer your
  90.    request.
  91.  
  92.  
  93.  
  94.  ICE  User's Manual                                               page 3
  95.  
  96.  
  97.  
  98.    Commands:
  99.    =========
  100.  
  101.    a (Add files to archive)
  102.  
  103.       ICE  a ARCHIVE.ICE file1.ext
  104.  
  105.         Adds 'file1.ext' to 'ARCHIVE.ICE'.  If 'ARCHIVE.ICE' does
  106.         not exist, then  ICE  will create it.  If a file with the
  107.         name 'file1.ext' already exists in the archive,  ICE  will
  108.         replace it with the specified file.
  109.  
  110.         Including the extension '.ICE' with the archive name is
  111.         optional and  ICE  will default to using it unless you
  112.         specify otherwise (see below under "Archive name").
  113.         However, you would certainly need to include the extension
  114.         (or just '.' for a blank extension) with any single-
  115.         character archive name or file name that might look like
  116.         one of  ICE 's commands.
  117.  
  118.  
  119.  
  120.    u (Update files to archive)
  121.  
  122.       ICE u ARCHIVE.ICE file1.ext
  123.  
  124.         Adds 'file1.ext' to 'ARCHIVE.ICE', the same as with the 'a'
  125.         command.  However, if 'file1.ext' already exists in the
  126.         archive,  ICE  will check its time stamp and will keep the
  127.         newer one and ignore the older one.  (Use the /c switch to
  128.         tell  ICE  to skip this time-stamp comparison.)
  129.  
  130.  
  131.    m (Move new files into archive)
  132.  
  133.       ICE m ARCHIVE.ICE file1.ext
  134.  
  135.         is equivalent to
  136.  
  137.       ICE u ARCHIVE.ICE file1.ext
  138.      DEL file1.ext
  139.  
  140.         Beware the fact that the second line is implicit.  You might
  141.         lose 'file1.ext' forever.
  142.  
  143.    f (Freshen files in archive)
  144.  
  145.       ICE f ARCHIVE.ICE file1.ext
  146.  
  147.         Replaces 'file1.ext' in 'ARCHIVE.ICE' with the newer one
  148.         only if a file with this name already exists in the archive.
  149.         Otherwise, no action is taken.  (Use the /c switch to tell
  150.          ICE  to skip this time-stamp comparison.)
  151.  
  152.  
  153.  
  154.  ICE  User's Manual                                               page 4
  155.  
  156.  
  157.  
  158.    e or x (EXtract files from archive)
  159.  
  160.       ICE e ARCHIVE.ICE d:\temp\
  161.  
  162.         Extracts all the files from 'ARCHIVE.ICE
  163.         directory \temp\ on drive D:.  If the specified directory
  164.         does not exist, then  ICE  will prompt you whether to create
  165.         it with the message "Make directory? [Y/N]".  If no home
  166.         directory name is specified,  ICE  will extract all files to
  167.         the current directory.
  168.  
  169.       ICE e ARCHIVE.ICE file1.ext
  170.  
  171.         Extracts only 'file1.ext' from 'ARCHIVE.ICE'.  If a file
  172.         with the name 'file1.ext' exists in the home directory,
  173.          ICE  will compare their time stamps and if the existing
  174.         file is older, then  ICE  will prompt you whether to
  175.         overwrite it.  (Use the /c switch to tell  ICE  to skip this
  176.         time-stamp comparison.)
  177.  
  178.       ICE e ARCHIVE.LZS file.ext
  179.  
  180.         Extracts 'file.ext' from an .LZS file archived with Larc
  181.         3.xx.
  182.  
  183.         Note:  Larc is another popular archiver on Japanese PDS's.
  184.  
  185.  
  186.    p (disPlay files in archive)
  187.  
  188.       ICE p ARCHIVE.ICE file1.ext
  189.  
  190.         Extracts 'file1.ext' from 'ARCHIVE.ICE' and redirects it to
  191.         standard output.
  192.  
  193.       ICE p /v ARCHIVE.ICE file1.ext
  194.  
  195.         Uses the default utility LESS to format and display the
  196.         redirected output.   ICE  creates a temporary file
  197.         '  ICE.TMP' for viewing.  It will be deleted afterward.
  198.  
  199.       ICE p /vsee ARCHIVE.ICE file1.ext
  200.  
  201.         Invokes the text formatter SEE, which then displays
  202.         'file1.ext' to standard output in a paged format.  Refer to
  203.         PC-LESS.ARC, LIST64A.ARC and SEE15.ARC.  (These should be
  204.         available in most BBS libraries.)
  205.  
  206.  
  207.    d (Delete files from archive)
  208.  
  209.       ICE d ARCHIVE.ICE file1.ext
  210.  
  211.         Deletes 'file1.ext' from 'ARCHIVE.ICE'.
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  ICE  User's Manual                                               page 5
  221.  
  222.  
  223.  
  224.    l (List files in archive)
  225.  
  226.       ICE l ARCHIVE.ICE
  227.  
  228.         Lists information about all the files in 'ARCHIVE.ICE':
  229.         name, original size, stored size, compression ratio, date
  230.         and time, attributes, compression type (see below under
  231.         "Archive File Header") and CRC check.  Each file takes one
  232.         line of output.  A '+' before a file name indicates that a
  233.         directory name is stored with the file name.  (Use the /x
  234.         switch to tell  ICE  to also display these directory names.)
  235.  
  236.         If you specify any file names and extensions, then only the
  237.         files with matching names or extensions will be listed:
  238.  
  239.       ICE l ARCHIVE.ICE *.c *.h readme.doc
  240.  
  241.         Lists information on all the .C, .H and README.DOC files
  242.         in 'ARCHIVE.ICE'.
  243.  
  244.  
  245.    v (View list of files in archive)
  246.  
  247.       ICE v ARCHIVE.ICE
  248.  
  249.         Which is equivalent to:
  250.  
  251.       ICE l /x ARCHIVE.ICE
  252.  
  253.         Lists information about all the files in 'ARCHIVE.ICE',
  254.         except that each listing takes two lines: the first for the
  255.         full path name and the second for the rest of the
  256.         information.  The /x switch tells  ICE  to display file
  257.         names extended with directory names.
  258.  
  259.  
  260.    s (make Self-extracting archive)
  261.  
  262.       ICE s ARCHIVE.ICE d:\temp\
  263.  
  264.         Creates a "small" self-extracting file 'ARCHIVE.COM' (or
  265.         'ARCHIVE.EXE' if larger than 64K) from 'ARCHIVE.ICE' in the
  266.         directory \temp\ on drive D:.  If no home directory name is
  267.         specified, then  ICE  will create this file in the current
  268.         directory.
  269.  
  270.         A "small" self-extracting archive (SFX) can be as large as
  271.         DOS' working memory space (640K), but normally no larger
  272.         than about 400K for safety.  A "large" SFX, however, is
  273.         limited only by available disk storage (see below under
  274.         "Self-Extracting Archives").
  275.  
  276.  
  277.  
  278.  ICE  User's Manual                                               page 6
  279.  
  280.  
  281.  
  282.       ICE s /x ARCHIVE.ICE
  283.  
  284.         Creates a "large" self-extracting file 'ARCHIVE.EXE' from
  285.         'ARCHIVE.ICE'.  The /x switch tells  ICE  to use the
  286.         "large" (extended) SFX model. You must first have an .ICE
  287.         file, before you can have a Self-Extracting file.
  288.  
  289.  
  290.    t (Test integrity of archive)
  291.  
  292.       ICE  t ARCHIVE.ICE
  293.  
  294.         Tests the integrity of 'ARCHIVE.ICE' by running a CRC check
  295.         on each file and comparing the result against the file's
  296.         stored CRC value.
  297.  
  298.  
  299.    (no command specified)
  300.  
  301.       ICE  ARCHIVE.ICE
  302.  
  303.         Acts exactly the same as the 'l' command.  This optional
  304.         action is temporary.  Don't count on it in future versions.
  305.  
  306.  
  307.  
  308.  ICE  User's Manual                                               page 7
  309.  
  310.  
  311.  
  312.    Switches:
  313.    =========
  314.  
  315.    Specify switch(es) following the switch delimiter '/' or '-'.  If
  316.    you want to specify more than one switch, type characters
  317.    continuously without any intervening spaces, like "/rx-we:\work" or
  318.    "/cxvless".  When the 'v' and 'w' switches are used with other
  319.    switches, they must be specified at the end of a sequence, as shown
  320.    in the above examples.
  321.  
  322.    You may place a '+' or '-' sign after switches, with the following
  323.    meanings: '+' turns the switch on and '-' turns the switch off.
  324.    The '2' creates a special option for the /r and /v switches (see
  325.    below).  If you just specify /<switch> without '+' or '-', then
  326.    <switch> will be toggled from 'on' to 'off' or vice versa, e.g., to
  327.    override any switch set in an environment variable (see below).
  328.  
  329.    NOTE:  Use only lowercase letters for switches.  Capital letters
  330.           are reserved for future use.
  331.  
  332.  
  333.      /x[-|+] (allow eXtended file names)
  334.  
  335.         By default,  ICE  stores only the file names of archived
  336.         files and disregards the names of the directory(s) in which
  337.         they reside.  This switch tells  ICE  to extend all file
  338.         names with directory names and to extract archived files
  339.         together with their stored directory names.
  340.  
  341.         Example: Suppose you are in the root directory, \ and you
  342.         have two files 'stat.h' and '\tc\include\sys\stat.h':
  343.  
  344.       ICE  a ARCHIVE.ICE stat.h
  345.  
  346.         Adds only the file 'stat.h' from the current (root)
  347.         directory to 'ARCHIVE.ICE', but
  348.  
  349.       ICE  a ARCHIVE.ICE stat.h \tc\include\sys\stat.h
  350.  
  351.         Will cause  ICE  to abort with the message "Same names in
  352.         another path", because directory names are normally
  353.         disregarded when storing file names.  However,
  354.  
  355.       ICE  a /x ARCHIVE.ICE stat.h \tc\include\sys\stat.h
  356.  
  357.         Adds both files to 'ARCHIVE.ICE'.  Then,
  358.  
  359.       ICE  e ARCHIVE.ICE stat.h
  360.  
  361.         Extracts both 'stat.h' files to the current directory and
  362.         compares their time stamps and if one is newer, then  ICE 
  363.         will prompt you with the message "'STAT.H': Already exists.
  364.         Overwrite? [Y/N]".
  365.  
  366.  
  367.  
  368.  ICE  User's Manual                                               page 8
  369.  
  370.  
  371.  
  372.       ICE  e /x ARCHIVE.ICE stat.h
  373.  
  374.         Extracts both 'stat.h' files together with their directory names:
  375.         one to the current directory and the other to the directory
  376.         \tc\include\sys\.  If this directory does not exist, then  ICE 
  377.         will prompt you whether to create it.
  378.  
  379.         You can also use the /r switch to tell  ICE  to archive all
  380.         files with the same file name by recursively searching
  381.         directories.  Thus,
  382.  
  383.       ICE  a /r ARCHIVE.ICE stat.h
  384.  
  385.         Adds two 'stat.h' files, with path names, to 'ARCHIVE.ICE':
  386.         one from the root directory and the other from the directory
  387.         \tc\include\sys\.
  388.  
  389.         The /r switch sets the /x switch simultaneously.  If you
  390.         don't want full path names, include /x- after specifying the
  391.         /r switch.
  392.  
  393.       ICE  s /x ARCHIVE.ICE
  394.  
  395.         Creates the "large" (= extended) self-extracting archive
  396.         'ARCHIVE.EXE' from 'ARCHIVE.ICE' (see below under "Self-
  397.         Extracting ARCHIVEs").
  398.  
  399.  
  400.      /p[-|+] (distinguish full Path names)
  401.  
  402.         By default,  ICE  disregards directory names when extracting
  403.         files.  This switch tells  ICE  to distinguish files by full
  404.         path name during un-archiving.
  405.  
  406.         Example: Suppose your archive 'tc.ICE' contains both
  407.         'stat.h' and 'sys\stat.h'.  Then,
  408.  
  409.       ICE  e tc stat.h
  410.  
  411.         Extracts both 'stat.h' files to the current directory and
  412.         the older one will be overwritten by the newer one, whereas
  413.  
  414.       ICE  e /p tc stat.h
  415.  
  416.         Extracts only 'stat.h' to the current directory and ignores
  417.         'sys\stat.h', because its path name is not specified.
  418.  
  419.         If you specify full path names without the /p switch,  ICE 
  420.         will extract only those files from your archive, but
  421.         otherwise it will disregard stored directory names.  (If you
  422.         want to extend file names with directory names, use the /x
  423.         switch.)
  424.  
  425.  
  426.  
  427.  ICE  User's Manual                                               page 9
  428.  
  429.  
  430.       ICE  e tc sys\stat.h
  431.  
  432.         Extracts only 'sys\stat.h' to the current directory.
  433.  
  434.  
  435.      /c[-|+] (skip time-stamp Comparison)
  436.  
  437.       ICE  [e|f|u|x] /c ARCHIVE.ICE [file1.ext file2.ext ...]
  438.  
  439.         If a file with the same name is to be created,  ICE  will
  440.         default to comparing the time stamp of each pair of files,
  441.         and so some files will be overwritten and some just ignored.
  442.         This switch tells  ICE  to overwrite any existing files with
  443.         extracted ones with the same name.
  444.  
  445.  
  446.      /m[-|+] (no Message for query)
  447.  
  448.       ICE  [<command>] /m ARCHIVE.ICE [file1.ext file2.ext ...]
  449.  
  450.         By default, before operations that alter files or
  451.         directories,  ICE  will query you with messages like
  452.         "Overwrite? [Y/N]".  This switch suppresses these messages
  453.         and tells  ICE  to proceed as if "y" is typed in.
  454.  
  455.  
  456.      /a[-|+] (allow any Attribute of files)
  457.  
  458.       ICE  a /a ARCHIVE.ICE file1.arc
  459.  
  460.         adds 'file1.arc' to 'ARCHIVE.ICE'.
  461.  
  462.         By default,  ICE  will not archive files with the hidden,
  463.         read-only or system attribute.  This switch tells  ICE 
  464.         also to archive files with these attributes.
  465.  
  466.  
  467.      /r[-|+|2] (Recursively collect files)
  468.  
  469.  
  470.  
  471.  ICE  User's Manual                                              page 10
  472.  
  473.  
  474.  
  475.       ICE  has three modes of collecting the files to be archived:
  476.  
  477.         (a) specified file(s):  /r-
  478.  
  479.              ICE  a /r- ARCHIVE.ICE file1.ext [file2.ext ...]
  480.  
  481.                  Adds to 'ARCHIVE.ICE' only the specified files
  482.                  (default mode).
  483.  
  484.         (b) across directories:  /r or /r+
  485.  
  486.              ICE  a /r ARCHIVE.ICE *.c
  487.  
  488.                  Adds to 'ARCHIVE.ICE' all the files with
  489.                  extension .C on the current drive, starting
  490.                  from the current directory.   ICE  will store
  491.                  all file names extended with directory names.
  492.                  Use this switch to archive all versions of a
  493.                  file or all files of a certain type.
  494.  
  495.         (c) specified directory(s):  /r2
  496.  
  497.              ICE  a /r2 ARCHIVE.ICE \doc
  498.  
  499.                  Adds to 'ARCHIVE.ICE' all the files in the
  500.                  directory specified by the path \doc and its
  501.                  branches, similar to the Unix -r option.  Use
  502.                  this switch to archive complete directories.
  503.  
  504.         The /r and /r2 switches set the /x switch simultaneously.
  505.         You may have to toggle the /x switch off (with /x-) after
  506.         using /r or /r2.  The /x- switch tells  ICE  to disregard
  507.         stored directory names.
  508.  
  509.  
  510.      /w[-|+|<directory_name>] (set Working directory)
  511.  
  512.       ICE  a /w[d:\temp] ARCHIVE.ICE [file1.ext file2.ext ...]
  513.  
  514.         Creates all the temporary files for 'ARCHIVE.ICE' in the
  515.         directory \temp\ on drive D:.  If no directory name is
  516.         specified with this switch, then the current directory
  517.         becomes the working directory and all the temporary files
  518.         created in the process of archiving will reside in this
  519.         directory and be deleted afterward.
  520.  
  521.      Use the /w switch when
  522.  
  523.         (1) you have no room in the directory where the archive is,
  524.             or
  525.         (2) you want your work done silently and swiftly on a RAM
  526.             disk.
  527.  
  528.  
  529.  
  530.  ICE  User's Manual                                              page 11
  531.  
  532.  
  533.  
  534.         This switch overrides the working directory that may be
  535.         specified in an environment variable (see below).
  536.  
  537.  
  538.      /v[-|+|2|<utility_name>] (View file by another utility)
  539.  
  540.       ICE  p /v ARCHIVE.ICE file1.ext
  541.  
  542.         Extracts 'file1.ext' from 'ARCHIVE.ICE' and invokes the
  543.         default utility LESS for formatted display to standard
  544.         output.
  545.  
  546.         NOTE:  LESS.COM is an utility similar to MORE.COM of
  547.                MS-DOS and something more, but less than the
  548.                "LESS" of American Unix networks.  PC-LESS.ARC,
  549.                LIST64A.ARC or SEE15.ARC (available from many
  550.                BBS sources in the U.S.A.) work as well as the
  551.                Japanese utility.
  552.  
  553.          ICE  first creates an un-archived file '  ICE.TMP' and then
  554.         invokes the specified utility, usually a page formatter like
  555.         LIST.EXE or SEE.EXE.  Temporary files will normally be
  556.         deleted after you have viewed their output.
  557.  
  558.       ICE  p /v2 /vbrowse ARCHIVE.ICE file1.ext
  559.  
  560.         Invokes BROWSE.COM for paged display of 'file1.ext' to
  561.         standard output, but suppresses the output of file names or
  562.         path names.  This special '2' option is provided for viewing
  563.         binary files with a dump utility.
  564.  
  565.      /n[-|+] (No Indicator)
  566.  
  567.         Suppress progress display oooo... in the process of
  568.         archiving and de-archiving.  The display is on the standard
  569.         error stream so that the dsiplay is on even in the process
  570.         of redirection.
  571.  
  572.  
  573.     /k<keyword> (Keyword for AUTOLARC.BAT)
  574.  
  575.         When used together with the /x switch to make a "large"
  576.         self-extracting archive (SFX), this switch tells  ICE  to
  577.         embed the specified keyword into the .EXE file and then to
  578.         turn on the AUTOLARC.BAT auto-execution feature.  That is,
  579.         if the SFX contains a file named 'AUTOLARC.BAT' (which can
  580.         consist of any sequence of batch commands), this file will
  581.         be executed immediately after all the files are extracted,
  582.         but only if the correct keyword is supplied along with the
  583.         SFX name.
  584.  
  585.  
  586.  
  587.  ICE  User's Manual                                              page 12
  588.  
  589.  
  590.  
  591.       ICE  s /x /kon ARCHIVE.ICE
  592.  
  593.         Creates the "large" SFX 'ARCHIVE.EXE' from 'ARCHIVE.ICE'
  594.         and turns on auto-execution of AUTOLARC.BAT, conditional
  595.         upon typing the keyword "on".  Then,
  596.  
  597.      C:\>ARCHIVE
  598.  
  599.         Executes 'ARCHIVE.EXE' and extracts all the files, but does
  600.         not auto-execute AUTOLARC.BAT, whereas
  601.  
  602.      C:>ARCHIVE on
  603.  
  604.         Extracts all the files and immediately executes AUTOLARC.BAT.
  605.  
  606.         Note:  Because DOS ignores case on the command line,
  607.                this keyword cannot be made case sensitive.
  608.  
  609.  
  610.      /t[-|+] (Time Stamp)
  611.  
  612.         Update the time stamps of Archive to the newest file in the
  613.         archive, effective with switches (a,u,m,f,d).
  614.  
  615.       ICE  a /t ARCHIVE.ICE file1.ext
  616.  
  617.         Will set the time stamp of ARCHIVE.ICE to that of file1.ext
  618.         if it has the newest time stamp in ARCHIVE.ICE, otherwise
  619.         ARCHIVE.ICE has the time stamp of command-line execution
  620.         above.
  621.  
  622.  
  623.  
  624.  ICE  User's Manual                                              page 13
  625.  
  626.  
  627.  
  628.    Archive name (path name):
  629.    =========================
  630.  
  631.    All the files archived by  ICE  have the same format as those
  632.    archived by Larc, except that Larc uses the extension '.LZS'.  If you
  633.    specify a different extension,  ICE  will prompt you whether to use
  634.    it with the message "Extension of archive is not '.ICE.' Continue
  635.    processing? [Y/N]".
  636.  
  637.    Wildcards are valid in specified file names with the 'e', 'x', 'p',
  638.    'l', 'v' and 's' commands:
  639.  
  640.       ICE  e *.ICE *.c
  641.  
  642.         Extracts all files with extension .C from all archives in
  643.         the current directory.
  644.  
  645.  
  646.    Home directory name (drive name):
  647.    =================================
  648.  
  649.    If you specify a home directory name, then  ICE  will refer to that
  650.    directory as if it is the current directory.  Specify a home
  651.    directory name ending with either '\' or ':'.  All files will be
  652.    archived without storing this directory name unless you also use the
  653.    /r or /x switch.
  654.  
  655.    Example:  Suppose you have the following directory tree:
  656.  
  657.                          |-- BIN --
  658.                          |
  659.         |-- \ --|-- TC --|-- LIB --
  660.                          |
  661.                          |-- INCLUDE --|-- SYS --|-- STAT.H
  662.  
  663.    From the root directory, \,
  664.  
  665.     ICE  a /r ARCHIVE.ICE stat.h tc\include\
  666.  
  667.         adds '\tc\include\sys\stat.h' to 'ARCHIVE.ICE' with the path
  668.         name 'sys\stat.h' from your home directory \tc\include\.
  669.  
  670.  
  671.    File name (path name):
  672.    ======================
  673.  
  674.    The file names or path names of files to be archived must be
  675.    specified or else  ICE  will assume *.* with no directory names.
  676.    The wildcards '*' and '?' behave exactly as in DOS.  You cannot use
  677.    them to specify directories except with the /r2 switch, similar to
  678.    the Unix -r option for cp, mv and rm.
  679.  
  680.  
  681.  
  682.  ICE  User's Manual                                              page 14
  683.  
  684.  
  685.  
  686.    Switch delimiter:
  687.    =================
  688.  
  689.    If you are currently using some other character, like '-', in place
  690.    of the forward slant '/' as a switch delimiter (from the undocu-
  691.    mented DOS Function 37H, Set/Query Switchar), then you have to use
  692.    your character in place of '/', like "-cx".  This makes '/' available
  693.    as a directory delimiter instead of '\', as in Unix convention.  (You
  694.    can use '-' as a switch delimiter with  ICE  anyway.)
  695.  
  696.    The above comment may not apply unless you are running MS-DOS 3.xx.
  697.  
  698.  
  699. 2. Setting Switches in an Environment Variable
  700.  
  701.    You may set any of  ICE 's default switches with the environment
  702.    variable '  ICE':
  703.  
  704.      SET   ICE=/we: /r2
  705.  
  706.         will set drive E: as the working directory and archive all
  707.         files in directory mode.
  708.  
  709.    You may also specify  ICE 's working directory with the environment
  710.    variable 'TMP':
  711.  
  712.      SET TMP=E:
  713.  
  714.         but the /w switch will override this setting.
  715.  
  716.  
  717.  
  718.  ICE  User's Manual                                              page 15
  719.  
  720.  
  721.  
  722. 3. Self-Extracting Files
  723.  
  724.     ICE  can create a self-extracting archive (SFX), which makes file
  725.    transfers very easy because the recipient does not need to have
  726.     ICE  itself to extract the contents.
  727.  
  728.    There are two models of SFX: "small" and "large." A "small" SFX is
  729.    designed to fit in working memory, but a "large" SFX depends only on
  730.    available disk storage.  When run, each model will sign on with a
  731.    corresponding screen message: " ICE 's SFX 1.14 [S or L]".
  732.  
  733.    On execution, either model SFX looks first for an archived file with
  734.    the name '!' and displays it to the screen followed by the simple
  735.    message "[Y/N]", which is prompting you whether or not to extract the
  736.    rest of the files.  This option, called a telop, is provided for your
  737.    convenience; it might be used for an announcement, an invitation, a
  738.    cover letter for E-mail, a shipping label, an ANSI graphics screen,
  739.    or whatever you please.  Thus, the telop will politely reassure the
  740.    recipient of your SFX as to sender, contents and intentions.  To
  741.    make a telop, simply create a suitable ASCII file with your favorite
  742.    text editor and then rename it to '!' before archiving.
  743.  
  744.    If you create a file with the name 'AUTOLARC.BAT' (which can consist
  745.    of any sequence of batch commands) and include in a "large" SFX, you
  746.    can optionally embed a keyword that will activate auto-execution of
  747.    this batch file immediately after all the files are extracted.
  748.    Otherwise, any AUTOLARC.BAT file will simply be harmlessly extracted
  749.    along with the rest of the files.
  750.  
  751.    It is, of course, possible to smuggle destructive "jokes" or so-
  752.    called viruses into this AUTOLARC.BAT file (a "Trojan horse"). So, to
  753.    guard against such unscrupulous use of this powerful feature of
  754.     ICE , I have provided a measure of security with the telop and the
  755.    keyword.
  756.  
  757.    The attribute byte of all the extracted files will normally be 20h.
  758.    If you specify /x switch in Large SFX files, then you may restore any
  759.    attributes.  This feature is only for Large model.  A typical command
  760.    line looks like:
  761.  
  762.      ARCHIVE [/kword] [/edirectory_name][/x][/a].
  763.  
  764.    Note:  In MS-DOS2.xx a program has no way to know its filename
  765.           or pathname for its own.  So move the self-extracting
  766.           .EXE file on the very directory where is is going to be
  767.           de-archived.  Then execute.
  768.  
  769.  
  770.  
  771.  ICE  User's Manual                                              page 16
  772.  
  773.  
  774.  
  775.    "Small" model:
  776.    ==============
  777.  
  778.    A "small" SFX must fit within the size of your available memory, so
  779.    theoretically it can be as large as DOS' 640K workspace.  In
  780.    practice, however, it should not be much larger than 400K, especially
  781.    when you distribute your program, it is not YOU who extract the file.
  782.    Think of people who may not have a fully memory populated machine.
  783.  
  784.       ICE  s ARCHIVE.ICE
  785.  
  786.         Creates 'ARCHIVE.COM' or 'ARCHIVE.EXE', depending on the
  787.         size of your original archive.  Then,
  788.  
  789.      C:\>ARCHIVE
  790.  
  791.         Displays the telop file '!' on the screen and prompts you
  792.         whether to proceed to extract files, with the simple message
  793.         "[Y/N]" (add your own message to the end of the telop to
  794.         take advantage of this prompt).  The telop itself is not
  795.         extracted; to record it to disk, type
  796.  
  797.      C:\>ARCHIVE >!
  798.  
  799.  
  800.  
  801.  ICE  User's Manual                                              page 17
  802.  
  803.  
  804.  
  805.    "Large" model:
  806.    ==============
  807.  
  808.    A "large" SFX is limited in size only by available disk storage and
  809.    will optionally auto-execute an AUTOLARC.BAT file immediately after
  810.    extracting all the files.
  811.  
  812.       ICE  s /x /kon ARCHIVE.ICE
  813.  
  814.         Creates 'ARCHIVE.EXE' (the extension is always .EXE in this
  815.         case) and turns on auto-execution of AUTOLARC.BAT,
  816.         conditional upon typing the keyword "on".
  817.  
  818.    Auto-execution of AUTOLARC.BAT will take place if and only if you
  819.    supply the keyword (case insensitive) along with the SFX name.  For
  820.    the above example,
  821.  
  822.      C:\>ARCHIVE on
  823.  
  824.        or
  825.  
  826.      C:\>ARCHIVE ON
  827.  
  828.         Extracts all the files and immediately executes AUTOLARC.BAT,
  829.         whereas:
  830.  
  831.      C:\>ARCHIVE
  832.  
  833.         Just extracts all the files after displaying the telop, if
  834.         any.
  835.  
  836.         Note:  If a file with the name 'AUTOLARC.BAT' already
  837.                exists in the current directory, it will auto-
  838.                matically be overwritten.
  839.  
  840.  
  841.  
  842.  ICE  User's Manual                                              page 18
  843.  
  844.  
  845.  
  846.    Destination directory(s):
  847.    =========================
  848.  
  849.    You can use the /e switch with the SFX name to specify the
  850.    destination directory for all the extracted files, but only for a
  851.    "large" SFX:
  852.  
  853.      C:\>ARCHIVE /ed:\temp
  854.  
  855.         Extracts all the files in 'ARCHIVE.EXE' to the directory \
  856.         temp\ on drive D:.
  857.  
  858.    In addition, if any directory names are stored with the file names
  859.    in the original archive, you can use the /x switch to extract files
  860.    with full path names:
  861.  
  862.      C:\>ARCHIVE /ed: /x
  863.  
  864.         Extracts all the files to drive D: and extends file names
  865.         with directory names.  If any of these directories does not
  866.         exist, then it will be automatically created.  Any
  867.         AUTOLARC.BAT file, however, is always extracted to the
  868.         current directory, whether you use the /x switch or not.
  869.  
  870.  
  871.  
  872.    View Self-extracting files.
  873.    ===========================
  874.  
  875.    From version 1.12b on, you may handle self-extracting .COM or .EXE
  876.    files as .ICE files with commands e, x, p, t, l, v, s.  Please use
  877.    full filename with extension .com or .exe.  Like:
  878.  
  879.       ICE  l ARCHIVE.exe
  880.  
  881.    To take a list of files inside a self-extracting ARCHIVE.exe file.
  882.    Be ALERT to the danger of overwriting or creating a new file with
  883.    the 's' switch.  Try to keep a backup when viewing.
  884.  
  885.  
  886.  
  887.  
  888.  ICE  User's Manual                                              page 19
  889.  
  890.  
  891.  
  892. 4. Archive File Header
  893.  
  894.     ICE 's header is compatible with that of Larc.  Methods of
  895.    archiving are two:
  896.  
  897.      -lh0-   stored as it was and
  898.      -lh1-   compressed by ICEuf coding.
  899.  
  900.     ICE  can also extract files stored in Larc-created archives (with
  901.    the extension .LZS) if they are type 4 or 5.
  902.  
  903.    NOTE:  Larc is another Japanese archiver, with source code
  904.           published in a journal.  It is now also available in the
  905.           United States.  Larc, also, has a SFX self-extractor.
  906.           The structure of self-extracting large SFX file looks
  907.           like:  (SFX + "key word") archived + header + archived
  908.           file.
  909.  
  910.  
  911. 5. Result Codes
  912.  
  913.     ICE  returns the following result codes to the parent process:
  914.  
  915.         0   Normally finished.
  916.  
  917.         1   Process finished with nonexistent file names ignored
  918.             during archiving or CRC error occurred during
  919.             un-archiving.
  920.  
  921.         2   Process terminated by fatal error; no archive created
  922.             or files moved.
  923.  
  924.         3   Unable to write temporary files into the archive.  Work
  925.             file renamed to '  ICE.)2(' and original archive
  926.             deleted.  Try renaming   ICE.)2( as your archive,
  927.             although it might be damaged.
  928.  
  929.  
  930. 6. Temporary Files
  931.  
  932.           ICE.)1(   Original archive, renamed.
  933.           ICE.)2(   Work file used to create new archive.
  934.           ICE.TMP   Work file created for viewing by another utility.
  935.  
  936.    If a file with one of these file names already exists in the working
  937.    directory, then the behavior of  ICE  is unpredictable.
  938.  
  939.  
  940.  
  941.  ICE  User's Manual                                              page 20
  942.  
  943.  
  944.  
  945. 7. My Distribution Policy
  946.  
  947.    Under the following conditions, you may freely copy and distribute
  948.    this software:
  949.  
  950.    1. Under all circumstances, "Copyright by Haruyasu Yoshizaki"
  951.       must be attached to the copy.
  952.  
  953.    2. This manual or its hardcopy should go together with the
  954.       software.
  955.  
  956.    3. You may modify the program, but in that case, you must distri-
  957.       bute the complete source code for the program, including your
  958.       specific contributions and you must make it clear that you
  959.       have made such modifications.
  960.  
  961.    4. You must try to distribute the latest version available.
  962.  
  963.    5. I assume no warranty for any claim of damage you may sustain
  964.       by using this software.
  965.  
  966.    6. I have no obligation to revise the program to correct any
  967.       fault in this software.
  968.  
  969.    7. For any commercial use of this software, I add the following:
  970.  
  971.       a. The entire software made incorporating this program should
  972.          not be copy protected in the sense that the DISKCOPY
  973.          program of MS-DOS makes an imperfect copy.
  974.  
  975.       b. Every part of the package should print the name " ICE " and
  976.          the copyright banner.
  977.  
  978.       c. The distribution policy of this software should be printed
  979.          either in the manual, in the package or on the disk label.
  980.  
  981.          Comment:  If a commercial package or a shareware
  982.                    product uses  ICE  with self-extracting SFX
  983.                    form for the distribution, then the Copy-
  984.                    right statement must appear with SFX header.
  985.                    I consider this as a claim of  ICE 's Banner.
  986.  
  987.  
  988.  
  989.  ICE  User's Manual                                              page 21
  990.  
  991.  
  992.  
  993. 8. Acknowledgments
  994.  
  995.    Special gratitude to Haruhiko Okumura, who uploaded the code for
  996.    LZari to PC-VAN on which my ICEuf coding is based; and to Kazuhiko
  997.    Miki, the author of Larc I, who re-posted LZari on Nifty Serve.  To
  998.    all who contributed reviews, comments and bug reports, I express my
  999.    thanks.
  1000.  
  1001.    Thanks also to Prof. Kenjirou Okubo who has spent much of his own
  1002.    time in reviewing the English manual and resources in distributing
  1003.     ICE  into the United States.
  1004.  
  1005.    The .EXE file for  ICE  is nearly 2K smaller owing to use of
  1006.    pcs27162 by S. Takanami.  I honor this utility and thank him for
  1007.    letting me use it to prepare  ICE .
  1008.  
  1009.    I have made so many revisions to  ICE , yet I do not think I can
  1010.    ever expel all the bugs dwelling inside.  I would appreciate any
  1011.    comments and bug reports.  Please route them to me via the SDR
  1012.    Forum on Nifty Serve or salon.pds of ASCII Net.  In the United
  1013.    States, CompuServe subscribers can contact me through Kenjirou
  1014.    Okubo 74100,2565 or on GEnie via 'K.OKUBO'.
  1015.  
  1016.  
  1017. 9. References
  1018.  
  1019.    1) Labo, A.P., A Hard Disk Cookbook:  Shouei Press (1987).
  1020.  
  1021.    2) Kurita, T., Huffman coding, bit:  Jewelry Box of Computing 43,
  1022.       vol. 20, no. 7, pp. 100-101 (1988).
  1023.  
  1024.    3) Miki, K., Documentation for Larc:  LARC.MAN.
  1025.  
  1026.  
  1027.  
  1028.  ICE  User's Manual                                              page 22
  1029.  
  1030.  
  1031.  
  1032. 10. History of Revisions
  1033.  
  1034. v1.14 (mostly cosmetic reasons for new Version)
  1035.     1. Renamed program LHice insted of LHarc, for cosmetic reason.
  1036.         (see Naming of ICE, below)
  1037.     2. Modified the '.' and the 'o' , to '∞' and '€' for the graph
  1038.        when ICEing, & unICEing.
  1039.  
  1040.  
  1041. v1.13c
  1042.     1. Following Mr.Okumura's sugestion, a check is now made for
  1043.        the size of extractable files being added.
  1044.     2. Check size of the specified directory for extraction.
  1045.     3. In using temporary files,  ICE  checks the size of available
  1046.        area and in case of shortage, restore in old archives.
  1047.  
  1048. v1.13b
  1049.     1. /t switch to update even if no transaction is made.
  1050.     2.  ICE  accepts self-extracting .COM &.EXE files like .ICE
  1051.        files in e, x, p, t, l and s commands.
  1052.     3. Bugs in B: D: drive specification removed.
  1053.  
  1054. v1.13a
  1055.     1. New /t switch added
  1056.     2. Display redirected to standard error stream.
  1057.     3. Bugs fixed in large SFX model.
  1058.     4. /a switch in large SFX model.
  1059.     5. Some trial t let a program know its path_name and own name.
  1060.     6. Some mixed dislay when a file_name contains '$'.
  1061.     7. User's Manual rewritten to reflect changes since v1.00.
  1062.  
  1063. v1.12b
  1064.     1. Fixed bug in auto-execution of AUTOLARC.BAT after self-
  1065.        extraction.
  1066.  
  1067. v1.12
  1068.     1. Added 't' command.
  1069.     2. Changed screen display to show new commands and switches.
  1070.     3. Fixed bug in CRC error check with archived file of zero
  1071.        length.
  1072.     4. Revisions to self-extracting archives:
  1073.        - "large" and "small" SFXs
  1074.        - telop file '!'
  1075.        - /k switch for security against Trojan horses
  1076.  
  1077. v1.01
  1078.     1. Minor touchups to help screen and program messages.
  1079.     2. User's Manual rewritten for clarity and intelligibility.
  1080.  
  1081. v1.00
  1082.     1. Mode without work file added.
  1083.     2. /r switch forces /x switch on simultaneously.
  1084.  
  1085. v0.07c
  1086.     1. Removed bug in detecting memory shortage.
  1087.     2. Compacted self-extraction program.
  1088.  
  1089. v0.07a
  1090.     1. Vers. 0.05-0.07 break down heap areas.  Corrected.
  1091.     2. Now accepts any directory name with any attributes.
  1092.  
  1093.  
  1094.  
  1095.  ICE  User's Manual                                              page 23
  1096.  
  1097.  
  1098.  
  1099. v0.07
  1100.     1. Prohibited actions to a write-protected archive.
  1101.     2. 'm' command now removes files made by older versions.
  1102.     3. Error-handling routine revised in dealing with wildcards for
  1103.        archive names.
  1104.     4. No command specified is now interpreted as 'l' command
  1105.        specified.
  1106.     5. Error level 1 returned when CRC checking detects an error
  1107.        during un-archiving.
  1108.     6. Program now halts when self-extraction process meets an
  1109.        error.
  1110.     7. Bug fixed in CRC checking when a directory name is met in
  1111.        the un-archiving process.
  1112.  
  1113. v0.06b
  1114.     1. Removed possibility of a damaged cluster appearing in failing
  1115.        to re-create (= freshen) an archived file.
  1116.     2. Removed '+' bug in redirecting output with 'p' command.
  1117.  
  1118. v0.06
  1119.     1. If a file transaction fails with 'u', 'm' or 'f' command,
  1120.         ICE  will leave the archive as it was.
  1121.     2. File attributes were sometimes misunderstood by 'f' command.
  1122.        This possibility eliminated.
  1123.  
  1124. v0.05
  1125.  
  1126.     1. CRC checks extended to self-extracting archives.
  1127.     2. Completely recursive modes made possible for 'a,u,m' commands.
  1128.     3. Meets requirements of APPEND.EXE of MS-DOS version 3.3.
  1129.     4. '\' no longer needed at end of working directory name with /w
  1130.        switch.
  1131.  
  1132. v0.04
  1133.     1. Support for environment variable 'TMP'.
  1134.  
  1135.     2. " ICE  p /v a.ice a_file" used to delete 'a_file' in case of
  1136.        an error.  Bug fixed.
  1137.     3. Added check for a file with the same name in making a self-
  1138.        extracting archive.
  1139.     4. In a self-extracting archive, if a file with the same name
  1140.        of larger size existed, then  ICE  kept the difference when
  1141.        it was overwritten by one of smaller size.  This bug removed.
  1142.  
  1143. v0.03
  1144.     1. Environment variable '  ICE' sets some of the switches.
  1145.     2. Made it possible to specify '+', '-' with switches.
  1146.     3. /v switch included.
  1147.     4. Wildcards can now be used for archive names with 'e,x,p,l,v,s'
  1148.        commands.
  1149.     5. Home directory names had some interactions with Kanji-code.
  1150.        Fixed.
  1151.     6. Fixed header-file bugs of self-extracting .EXE files.
  1152.  
  1153.  
  1154.  
  1155.  ICE  User's Manual                                              page 24
  1156.  
  1157.  
  1158.  
  1159. v0.02
  1160.     1. Support for 'm' command.
  1161.     2. Larc 3.xx compatibility.  Type 4, 5 .LZS files are un-
  1162.        archived.
  1163.     3. Accommodation to systems with different switch characters.
  1164.     4. Minor bugs fixed with 'e' command.
  1165.     5. Revised format for 'l' command.
  1166.  
  1167. v0.01
  1168.     1. Support for self-extracting archives.
  1169.     2. 'p' command added.
  1170.     3. /c switch applies to more combinations of commands and
  1171.        switches.
  1172.     4. Error handling revised.
  1173.     5. Bug fixed in 'l' command.
  1174.     6. New algorithm introduced in sorting path names.
  1175.  
  1176.  
  1177.  
  1178. 11. Comments
  1179.  
  1180.  a. Some other algorithms I have in mind.
  1181.  
  1182.     With some specific files, the compression ratios are not as good as
  1183.     with PKware's PKZIP.  For such files, I may use LZSS compression
  1184.     with correlated arithmetic compression.  This is an effective
  1185.     method and my experiments show that the ratios are no less than
  1186.     PKware's.  Yet it takes too much time in both the archiving and
  1187.     un-archiving processes, with much higher memory consumption.
  1188.     Consequently, I intend to keep working on the algorithm.
  1189.  
  1190.     Naturally, I am ready to receive any comments and I continue to
  1191.     experiment.
  1192.  
  1193.  
  1194.  b. Naming of  ICE 
  1195.  
  1196.         I have named the New program ICE, because it goes along better
  1197.         with the wording within the program such as FREEZING,FROZEN,
  1198.         MELTING,MELTED alot better than .LZH was.
  1199.  
  1200.         Plus when an .ICE file is listed in a directory, you can 
  1201.         more easily figure out which program will unARC it.
  1202.  
  1203.  
  1204. *******************************************************************************
  1205.                                   - end -
  1206.